#if !defined(APP_POOL_H)
#define APP_POOL_H

// 任务结构体
typedef struct
{
    void (*func)(void *); // 任务函数
    void *arg;               // 任务参数
} Task;

/**
 * @brief 初始化线程池(同时创建消息队列)
 * @param size 线程池大小
 * @return int 0:成功 -1:失败
 */
int app_pool_init(int size);

/**
 * @brief 关闭线程池
 * @return int 0:成功 -1:失败
 */
int app_pool_close();

/**
 * @brief 向线程池中添加任务
 * @param func 任务函数
 * @param argv 任务参数
 */
int app_pool_registerTask(void *(*func)(void *), void *argv);

#endif // APP_POOL_H
